Asynchronous Transfer Mode

Written by cris of The Tet Offensive

     Just as physicists dream of a final, all-encompassing theory, so technologists dream of a universal network, equally capable of handling voice, video and data. This dream began its march toward reality with the development of ATM (Asynchronous Transfer Mode) by researchers at Bellcore and Cambridge University. 
By combining the best of earlier voice and data protocols, ATM offered telephone companies a way to support both types of traffic over the same network. The companies’ quick acceptance of ATM spurred interest within the computer industry. A single standard for both voice and data promised an end to the networking Tower 
of Babel. The technology continues to evolve, and questions still remain, but products that support ATM are now entering the market.

     The buzz about ATM can seem unfathomable given how little the protocol really defines. The technique simply divides all information, whether voice or video, into very short snippets. These snippets, called cells,are 53 bytes long. The first five bytes contain header information and the next 48 contain the actual data. The content of the data bytes could be ASCII characters or the sound of 
someone shitting, but ATM uses constant length cells. This ensures that delays are predictable and fair: small voice packets can’t get trapped by long data packets. Constant length also allows for simpler - and therefore faster - switching hardware. While ATM doesn't specify a transmission rate, it was designed with a goal of gigabits per second in mind. The cell length of 48 bytes, however, was chosen purely out of the need to compromise: it was the arithmetic average of two competing proposals and left both sides equally unhappy.

     Once information has been chopped into uniform cells, it becomes very easy to play with. Think of a data transmission as a train carrying ATM cells, making a transmission of 40 Mbits/sec equivalent to a train 100,000 cells long that launches every second. These cell trains depart from your phone or computer and are then routed through the network to their destination. Routing is done by ATM switches, which act like a a switching yard: trains arrive, cells are switched to the correct output line (based on the address on the cell’s header), and the newly formed trains are sent out. In the telephone network, the input lines may be copper while the outputs are fiber-optic cable, so an output train may be the combination of many outputs.

     It is ATM’s method of combining inputs, called statistical multiplexing, that makes the protocol so advantageous. A conventional telephone switch combines two 40 Mbyte/sec cell-trains into one 80 Mbyte/sec train by reserving the odd cars for the first input and the even cars for the second. This makes demultiplexing at the other end a simple matter. But it also means that if one input line is momentarily quiet, as is common with data traffic, half the output cars must go empty. ATM avoids this wasted bandwidth by allowing inputs to be mixed together in any order: 
demultiplexing is done according to the information in the cell’s header rather than by the order of the cells. So by assuming that at least one line will be quiet at any given moment, ATM can multiplex, say, three 40 Mbyte/sec lines into just one 100 Mbyte/sec output. It does this by loading the train with all the 
cells that happen to be waiting. Of course, if all three lines start transmitting at full speed, a huge backup will occur as cell wait for an empty output car. Shaping traffic so that such simultaneous bursts don’t occur - and figuring out how to cope when they do - are currently the hottest topics in the field of 
network research.

     For statistical multiplexing to work, every ATM cell carries an identifier that defines it’s destination. Rather than assigning unique addresses to all addresses to all destinations, as the postal system and Internet do, ATM has the source and destination agree on randomly chosen number that uniquely identifies the connection only for as long as it is in use. This allows for shorter addresses, 
but also means the cells can not be delivered until the identifiers necessary for connection have been determined. For example if I place a call from New York to San Francisco, my local switch might first send a request to a Chicago switch. These two switches will agree on some identifier, say 69, which neither switch is 
currently using. Chicago then repeats this process with the switch in San Francisco and the two agree on an identifier of 42. My voice can now be chopped into cells identified by 69 and sent. When these cells arrive in Chicago, the switch looks up 69 in its table and sees that the next hop is to San Francisco and that the hop identifier is 42. So the addresses in all my cells are changed to 42 and sent to San Francisco. Of course, the reality is somewhat more complex: ATM uses two numbers for an identifier, one number is more general than the other, and some switches may look at only the more general.

     As ATM defines only the formatting and addressing of the cell, additional protocols are required for real applications. Below ATM is a lower-level protocol such as SONET (Synchronous Optical NETwork), which defines how bits are transferred over fiber-optic lines. This layer also defines the speed of the ATM network, with the most popular standard, SONET OC-3, running at 155 Mbytes/sec - about 15 times faster than the current computer networks. Above ATM is one of the ATM Adaption Layers that defines how cells are reassembled into larger units (such as data packets or video frames) at their final destination. And above the adaptation layer, there will probably be a protocol such as TCP to provide error-
handling, since ATM is not able to guarantee error-free delivery.

     Despite ATM’s flexibility, or perhaps because of it, ATM will not be a panacea. Due to the small cell size, it will probably be too inefficient for high-speed LANs, despite all the hype you hear at shows like NetWorld + Interop. Nor is it clear that ATM is suitable for traffic dominated by constant bit-rate streams. But there is not doubt that ATM will be extremely important. It will be a universal 
language in the same way English is, filled with compromises and borrowed concepts from other languages, awkward in certain situations, unusable in others. Yet, logical or not, through sheer popularity, it will alter how we communicate.

   ----------------------------------------------------------------------   
The Tet Offensive welcomes you to join. We are currently in the process of finding
new members. E-mail cris at [rcheid@aol.com] for a membership form. Thanks!
                                    --==cris==--